This example use the Inherited property to determine if a user-defined Property object was created for a Recordset object or for some underlying object.
Sub InheritedX()
Dim dbsNorthwind As Database
Dim tdfTest As TableDef
Dim rstTest As Recordset
Dim prpNew As Property
Dim prpLoop As Property
' Create a new property for a saved TableDef object, then
' open a recordset from that TableDef object.
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set tdfTest = dbsNorthwind.TableDefs(0)
Set prpNew = tdfTest.CreateProperty("NewProperty", _
dbBoolean, True)
tdfTest.Properties.Append prpNew
Set rstTest = tdfTest.OpenRecordset(dbOpenForwardOnly)
' Show Name and Inherited property of the new Property
' object in the TableDef.
Debug.Print "NewProperty of " & tdfTest.Name & _
" TableDef:"
Debug.Print " Inherited = " & _
tdfTest.Properties("NewProperty").Inherited
' Show Name and Inherited property of the new Property
' object in the Recordset.
Debug.Print "NewProperty of " & rstTest.Name & _
" Recordset:"
Debug.Print " Inherited = " & _
rstTest.Properties("NewProperty").Inherited
' Delete new TableDef because this is a demonstration.
tdfTest.Properties.Delete prpNew.Name
dbsNorthwind.Close
End Sub